package cn.tedu.collection;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

/*用于测试set存放自定义引用类型对象的去重问题*/
public class TestSet2 {
    public static void main(String[] args) {
        Set<Student> set = new HashSet();
        Student s1 = new Student("张三",3);
        Student s2 = new Student("李四",4);
        Student s3 = new Student("王五",5);
        Student s4 = new Student("王五",5);
        set.add(s1);
        set.add(s2);
        set.add(s3);
        set.add(s4);
        /*如果set存放的是hi我们自定义的类型
        * 那么需要给 自定义中添加重写的equals与hashcode,才会实现去重的效果
        * 不然,set集合会认为s3和s4的地址值不同,是两个不同的对象,不会去重*/
        System.out.println(set);

        HashSet set2 = new HashSet();
        Dog d1=new Dog("九月",2);
        Dog d2=new Dog("憨憨",1);
        Dog d3=new Dog("可乐",2);
        Dog d4=new Dog("可乐",2);
        set2.add(d1);
        set2.add(d2);
        set2.add(d3);
        set2.add(d4);
        System.out.println(set2);


    }
}
